/*
Automatic clinic tests using a robot arm.
Copyright (C) 2010  CIC-CPC, CHU Gabriel Montpied
All other trademarks, logos and copyrights are the property
of their respective owners.

This file is part of cpc-painbot.

cpc-painbot is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

cpc-painbot is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License
along with cpc-painbot.  If not, see <http://www.gnu.org/licenses/>.
*/

#ifndef DEPLACERARC_H
#define DEPLACERARC_H
#include "commande/bras/deplacer.h"
#include "positionbras.h"

namespace commande {
namespace bras {
/*! Déplacement en arc.
    Le bras suit un arc en passant par deux points.
    Une vitesse peut être spécifiée pour se rendre au point intermédiaire,
    et une seconde pour se rendre au point d'arrivée.
*/
class DeplacerArc : public Deplacer
{
public:
    DeplacerArc();

    void setVitesseArrivee(float vitesse);
    void setVitesseArc(float vitesse);

    float vitesseArrivee() const { return vitesse_arrivee_; }
    float vitesseArc() const { return vitesse_arc_; }

    void setArc(const PositionBras & arc);
    PositionBras arc() const { return arc_; }

protected:
    PositionBras arc_;
    float vitesse_arrivee_, vitesse_arc_;
};

} // namespace bras
} // namespace commande

#endif // DEPLACERARC_H
